Файл: ClickCoins.txt

Дата: 10.04.2014

1: * Игра: Собери монеты.
2: * Программа КОНЦЕПТ, 16.07.2012, www.gendoc.ru
3:
4: присвоить $СобытиеПоТаймеру 500
5: присвоить желтый 13 черный 1 белый 16
6: присвоить СЧЕТ 0
7: список сгенерить КООРДИНАТЫ 1 5
8: присвоить РАДИУС 50
9: присвоить счет_х1 650 счет_у1 100 счет_х2 750 счет_у2 200
10: присвоить выход_х1 650 выход_у1 500 выход_х2 750 выход_у2 600
11:
12: * Заголовок
13: рисовать текстВПрямоугольнике 0 0 600 50 'Собери монеты, кликая на них мышью'
14:
15: * Кнопка "выход" - завершение работы
16: рисовать прямоугольник [выход_х1] [выход_у1] [выход_х2] [выход_у2]
17: рисовать текстВПрямоугольнике [выход_х1] [выход_у1] [выход_х2] [выход_у2] выход
18: рисовать добавитьСенсор [выход_х1] [выход_у1] [выход_х2] [выход_у2] выход
19:
20: рисовать текстВПрямоугольнике [счет_х1] (вычислить - $результат [счет_у1] 30 ) [счет_х2] [счет_у1] 'В копилке:'
21:
22: Обновить_счет
23:
24: функция _$ВЫБОР
25:   если [_$ВЫБОР;ОБЪЕКТ] == выход
26:     присвоить $СобытиеПоТаймеру 0
27:     показать сообщение 'Программа завершена.'  
28:     СТОП
29:   иначе
30:     если (память существует $результат "МОНЕТА;[_$ВЫБОР;ОБЪЕКТ]" )
31:       увеличить СЧЕТ [МОНЕТА;[_$ВЫБОР;ОБЪЕКТ]
32:       Обновить_счет
33:       Рисовать_монету (список взять $результат [_$ВЫБОР;ОБЪЕКТ] 1 ) (список взять $результат [_$ВЫБОР;ОБЪЕКТ] 2 ) 0  
34:     конец
35:   конец
36: возврат
37:
38: функция _$ТАЙМЕР
39:   список выбратьСлучайный х [КООРДИНАТЫ]
40:   список выбратьСлучайный у [КООРДИНАТЫ]
41:   список выбратьСлучайный номинал 1;2;3;5;10
42:
43:   если (память существует $результат "МОНЕТА;[х];[у]" ) == [$Ложь]
44:     * Позиция свободна
45:     Рисовать_монету [х] [у] [номинал]
46:   конец
47: возврат
48:
49: функция Рисовать_монету позиция_х позиция_у номинал
50: * Если номинал = 0, то удаляет монету
51:   память локальный х у номинал
52:
53:   вычислить * х [позиция_х] [РАДИУС] 2
54:   вычислить * у [позиция_у] [РАДИУС] 2
55:   вычислить + х $ [РАДИУС]
56:   вычислить + у $ [РАДИУС]
57:   вычислить - х1 [х] [РАДИУС]
58:   вычислить - у1 [у] [РАДИУС]
59:   вычислить + х2 [х] [РАДИУС]
60:   вычислить + у2 [у] [РАДИУС]
61:
62:   если [номинал]
63:     присвоить цвет [желтый]
64:   иначе
65:     присвоить цвет [белый]
66:   конец
67:
68:   присвоить $ЦветКисти [цвет] $ЦветЛинии [цвет]
69:   рисовать круг [х1] [у1] [х2] [у2]
70:   если [номинал]
71:     рисовать текстВПрямоугольнике [х1] [у1] [х2] [у2] [номинал]
72:     рисовать добавитьСенсор [х1] [у1] [х2] [у2] "[позиция_х];[позиция_у]"
73:     присвоить "МОНЕТА;[позиция_х];[позиция_у][номинал]
74:   иначе    
75:     рисовать удалитьСенсор [х1] [у1] [х2] [у2] "[позиция_х];[позиция_у]"
76:     память очистить "МОНЕТА;[позиция_х];[позиция_у]"
77:   конец
78: возврат
79:
80: функция Обновить_счет
81:   присвоить $ЦветКисти [белый] $ЦветЛинии [черный]
82:   рисовать прямоугольник [счет_х1] [счет_у1] [счет_х2] [счет_у2]      
83:   рисовать текстВПрямоугольнике [счет_х1] [счет_у1] [счет_х2] [счет_у2] [СЧЕТ]
84: возврат